home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_kernel_source / KERNEL / KSYMS.C < prev    next >
C/C++ Source or Header  |  1999-09-17  |  11KB  |  401 lines

  1. /*
  2.  * Herein lies all the functions/variables that are "exported" for linkage
  3.  * with dynamically loaded kernel modules.
  4.  *            Jon.
  5.  *
  6.  * - Stacked module support and unified symbol table added (June 1994)
  7.  * - External symbol table support added (December 1994)
  8.  * - Versions on symbols added (December 1994)
  9.  *   by Bjorn Ekwall <bj0rn@blox.se>
  10.  */
  11.  
  12. #include <linux/config.h>
  13. #include <linux/malloc.h>
  14. #include <linux/module.h>
  15. #include <linux/blkdev.h>
  16. #include <linux/cdrom.h>
  17. #include <linux/kernel_stat.h>
  18. #include <linux/vmalloc.h>
  19. #include <linux/sys.h>
  20. #include <linux/utsname.h>
  21. #include <linux/interrupt.h>
  22. #include <linux/ioport.h>
  23. #include <linux/serial.h>
  24. #include <linux/locks.h>
  25. #include <linux/delay.h>
  26. #include <linux/minix_fs.h>
  27. #include <linux/ext2_fs.h>
  28. #include <linux/random.h>
  29. #include <linux/reboot.h>
  30. #include <linux/pagemap.h>
  31. #include <linux/sysctl.h>
  32. #include <linux/hdreg.h>
  33. #include <linux/skbuff.h>
  34. #include <linux/genhd.h>
  35. #include <linux/swap.h>
  36. #include <linux/ctype.h>
  37. #include <linux/file.h>
  38. #include <linux/console.h>
  39. #include <linux/poll.h>
  40. #include <linux/mm.h>
  41.  
  42. #if defined(CONFIG_PROC_FS)
  43. #include <linux/proc_fs.h>
  44. #endif
  45. #ifdef CONFIG_KMOD
  46. #include <linux/kmod.h>
  47. #endif
  48.  
  49. extern char *get_options(char *str, int *ints);
  50. extern void set_device_ro(kdev_t dev,int flag);
  51. extern struct file_operations * get_blkfops(unsigned int);
  52. extern int blkdev_release(struct inode * inode);
  53. #if !defined(CONFIG_NFSD) && defined(CONFIG_NFSD_MODULE)
  54. extern int (*do_nfsservctl)(int, void *, void *);
  55. #endif
  56.  
  57. extern void *sys_call_table;
  58.  
  59. extern int sys_tz;
  60. extern int request_dma(unsigned int dmanr, char * deviceID);
  61. extern void free_dma(unsigned int dmanr);
  62. extern spinlock_t dma_spin_lock;
  63.  
  64. #ifdef CONFIG_MODVERSIONS
  65. const struct module_symbol __export_Using_Versions
  66. __attribute__((section("__ksymtab"))) = {
  67.     1 /* Version version */, "Using_Versions"
  68. };
  69. #endif
  70.  
  71.  
  72. #ifdef CONFIG_KMOD
  73. EXPORT_SYMBOL(request_module);
  74. #endif
  75.  
  76. #ifdef CONFIG_MODULES
  77. EXPORT_SYMBOL(get_module_symbol);
  78. #endif
  79. EXPORT_SYMBOL(get_options);
  80.  
  81. /* process memory management */
  82. EXPORT_SYMBOL(do_mmap);
  83. EXPORT_SYMBOL(do_munmap);
  84. EXPORT_SYMBOL(exit_mm);
  85. EXPORT_SYMBOL(exit_files);
  86. EXPORT_SYMBOL(exit_fs);
  87. EXPORT_SYMBOL(exit_sighand);
  88.  
  89. /* internal kernel memory management */
  90. EXPORT_SYMBOL(__get_free_pages);
  91. EXPORT_SYMBOL(free_pages);
  92. EXPORT_SYMBOL(__free_page);
  93. EXPORT_SYMBOL(kmem_find_general_cachep);
  94. EXPORT_SYMBOL(kmem_cache_create);
  95. EXPORT_SYMBOL(kmem_cache_shrink);
  96. EXPORT_SYMBOL(kmem_cache_alloc);
  97. EXPORT_SYMBOL(kmem_cache_free);
  98. EXPORT_SYMBOL(kmalloc);
  99. EXPORT_SYMBOL(kfree);
  100. EXPORT_SYMBOL(kfree_s);
  101. EXPORT_SYMBOL(vmalloc);
  102. EXPORT_SYMBOL(vfree);
  103. EXPORT_SYMBOL(mem_map);
  104. EXPORT_SYMBOL(remap_page_range);
  105. EXPORT_SYMBOL(max_mapnr);
  106. EXPORT_SYMBOL(high_memory);
  107. EXPORT_SYMBOL(update_vm_cache);
  108. EXPORT_SYMBOL(vmtruncate);
  109. EXPORT_SYMBOL(find_vma);
  110. EXPORT_SYMBOL(get_unmapped_area);
  111.  
  112. /* filesystem internal functions */
  113. EXPORT_SYMBOL(in_group_p);
  114. EXPORT_SYMBOL(update_atime);
  115. EXPORT_SYMBOL(get_super);
  116. EXPORT_SYMBOL(get_fs_type);
  117. EXPORT_SYMBOL(getname);
  118. EXPORT_SYMBOL(__fput);
  119. EXPORT_SYMBOL(iget);
  120. EXPORT_SYMBOL(iput);
  121. EXPORT_SYMBOL(__namei);
  122. EXPORT_SYMBOL(lookup_dentry);
  123. EXPORT_SYMBOL(open_namei);
  124. EXPORT_SYMBOL(sys_close);
  125. EXPORT_SYMBOL(d_alloc_root);
  126. EXPORT_SYMBOL(d_delete);
  127. EXPORT_SYMBOL(d_validate);
  128. EXPORT_SYMBOL(d_rehash);
  129. EXPORT_SYMBOL(d_invalidate);    /* May be it will be better in dcache.h? */
  130. EXPORT_SYMBOL(d_move);
  131. EXPORT_SYMBOL(d_instantiate);
  132. EXPORT_SYMBOL(d_alloc);
  133. EXPORT_SYMBOL(d_lookup);
  134. EXPORT_SYMBOL(d_path);
  135. EXPORT_SYMBOL(__mark_inode_dirty);
  136. EXPORT_SYMBOL(get_empty_filp);
  137. EXPORT_SYMBOL(init_private_file);
  138. EXPORT_SYMBOL(filp_open);
  139. EXPORT_SYMBOL(filp_close);
  140. EXPORT_SYMBOL(fput);
  141. EXPORT_SYMBOL(put_filp);
  142. EXPORT_SYMBOL(check_disk_change);
  143. EXPORT_SYMBOL(invalidate_buffers);
  144. EXPORT_SYMBOL(invalidate_inodes);
  145. EXPORT_SYMBOL(invalidate_inode_pages);
  146. EXPORT_SYMBOL(truncate_inode_pages);
  147. EXPORT_SYMBOL(fsync_dev);
  148. EXPORT_SYMBOL(permission);
  149. EXPORT_SYMBOL(inode_setattr);
  150. EXPORT_SYMBOL(inode_change_ok);
  151. EXPORT_SYMBOL(write_inode_now);
  152. EXPORT_SYMBOL(notify_change);
  153. EXPORT_SYMBOL(get_hardblocksize);
  154. EXPORT_SYMBOL(set_blocksize);
  155. EXPORT_SYMBOL(getblk);
  156. EXPORT_SYMBOL(bread);
  157. EXPORT_SYMBOL(breada);
  158. EXPORT_SYMBOL(__brelse);
  159. EXPORT_SYMBOL(__bforget);
  160. EXPORT_SYMBOL(ll_rw_block);
  161. EXPORT_SYMBOL(__wait_on_buffer);
  162. EXPORT_SYMBOL(mark_buffer_uptodate);
  163. EXPORT_SYMBOL(add_blkdev_randomness);
  164. EXPORT_SYMBOL(generic_file_read);
  165. EXPORT_SYMBOL(generic_file_write);
  166. EXPORT_SYMBOL(generic_file_mmap);
  167. EXPORT_SYMBOL(generic_readpage);
  168. EXPORT_SYMBOL(file_lock_table);
  169. EXPORT_SYMBOL(posix_lock_file);
  170. EXPORT_SYMBOL(posix_test_lock);
  171. EXPORT_SYMBOL(posix_block_lock);
  172. EXPORT_SYMBOL(posix_unblock_lock);
  173. EXPORT_SYMBOL(dput);
  174. EXPORT_SYMBOL(get_cached_page);
  175. EXPORT_SYMBOL(put_cached_page);
  176. EXPORT_SYMBOL(is_root_busy);
  177. EXPORT_SYMBOL(prune_dcache);
  178. EXPORT_SYMBOL(shrink_dcache_sb);
  179. EXPORT_SYMBOL(shrink_dcache_parent);
  180. EXPORT_SYMBOL(find_inode_number);
  181. EXPORT_SYMBOL(is_subdir);
  182. EXPORT_SYMBOL(get_unused_fd);
  183. EXPORT_SYMBOL(vfs_rmdir);
  184. EXPORT_SYMBOL(vfs_unlink);
  185. EXPORT_SYMBOL(vfs_rename);
  186. EXPORT_SYMBOL(__pollwait);
  187.  
  188. #if !defined(CONFIG_NFSD) && defined(CONFIG_NFSD_MODULE)
  189. EXPORT_SYMBOL(do_nfsservctl);
  190. #endif
  191.  
  192. /* device registration */
  193. EXPORT_SYMBOL(register_chrdev);
  194. EXPORT_SYMBOL(unregister_chrdev);
  195. EXPORT_SYMBOL(register_blkdev);
  196. EXPORT_SYMBOL(unregister_blkdev);
  197. EXPORT_SYMBOL(tty_register_driver);
  198. EXPORT_SYMBOL(tty_unregister_driver);
  199. EXPORT_SYMBOL(tty_std_termios);
  200.  
  201. /* block device driver support */
  202. EXPORT_SYMBOL(block_read);
  203. EXPORT_SYMBOL(block_write);
  204. EXPORT_SYMBOL(block_fsync);
  205. EXPORT_SYMBOL(wait_for_request);
  206. EXPORT_SYMBOL(blksize_size);
  207. EXPORT_SYMBOL(hardsect_size);
  208. EXPORT_SYMBOL(blk_size);
  209. EXPORT_SYMBOL(blk_dev);
  210. EXPORT_SYMBOL(is_read_only);
  211. EXPORT_SYMBOL(set_device_ro);
  212. EXPORT_SYMBOL(bmap);
  213. EXPORT_SYMBOL(sync_dev);
  214. EXPORT_SYMBOL(get_blkfops);
  215. EXPORT_SYMBOL(blkdev_open);
  216. EXPORT_SYMBOL(blkdev_release);
  217. EXPORT_SYMBOL(gendisk_head);
  218. EXPORT_SYMBOL(resetup_one_dev);
  219. EXPORT_SYMBOL(unplug_device);
  220. EXPORT_SYMBOL(make_request);
  221. EXPORT_SYMBOL(tq_disk);
  222. EXPORT_SYMBOL(find_buffer);
  223. EXPORT_SYMBOL(init_buffer);
  224. EXPORT_SYMBOL(max_sectors);
  225. EXPORT_SYMBOL(max_readahead);
  226.  
  227. /* tty routines */
  228. EXPORT_SYMBOL(tty_hangup);
  229. EXPORT_SYMBOL(tty_wait_until_sent);
  230. EXPORT_SYMBOL(tty_check_change);
  231. EXPORT_SYMBOL(tty_hung_up_p);
  232. EXPORT_SYMBOL(tty_flip_buffer_push);
  233. EXPORT_SYMBOL(tty_get_baud_rate);
  234. EXPORT_SYMBOL(do_SAK);
  235. EXPORT_SYMBOL(console_print);
  236.  
  237. /* filesystem registration */
  238. EXPORT_SYMBOL(register_filesystem);
  239. EXPORT_SYMBOL(unregister_filesystem);
  240.  
  241. /* executable format registration */
  242. EXPORT_SYMBOL(register_binfmt);
  243. EXPORT_SYMBOL(unregister_binfmt);
  244. EXPORT_SYMBOL(search_binary_handler);
  245. EXPORT_SYMBOL(prepare_binprm);
  246. EXPORT_SYMBOL(compute_creds);
  247. EXPORT_SYMBOL(remove_arg_zero);
  248.  
  249. /* execution environment registration */
  250. EXPORT_SYMBOL(lookup_exec_domain);
  251. EXPORT_SYMBOL(register_exec_domain);
  252. EXPORT_SYMBOL(unregister_exec_domain);
  253.  
  254. /* sysctl table registration */
  255. EXPORT_SYMBOL(register_sysctl_table);
  256. EXPORT_SYMBOL(unregister_sysctl_table);
  257. EXPORT_SYMBOL(sysctl_string);
  258. EXPORT_SYMBOL(sysctl_intvec);
  259. EXPORT_SYMBOL(proc_dostring);
  260. EXPORT_SYMBOL(proc_dointvec);
  261. EXPORT_SYMBOL(proc_dointvec_jiffies);
  262. EXPORT_SYMBOL(proc_dointvec_minmax);
  263.  
  264. /* interrupt handling */
  265. EXPORT_SYMBOL(request_irq);
  266. EXPORT_SYMBOL(free_irq);
  267. EXPORT_SYMBOL(probe_irq_on);
  268. EXPORT_SYMBOL(probe_irq_off);
  269. EXPORT_SYMBOL(bh_active);
  270. EXPORT_SYMBOL(bh_mask);
  271. EXPORT_SYMBOL(bh_mask_count);
  272. EXPORT_SYMBOL(bh_base);
  273. EXPORT_SYMBOL(add_timer);
  274. EXPORT_SYMBOL(del_timer);
  275. EXPORT_SYMBOL(mod_timer);
  276. EXPORT_SYMBOL(tq_timer);
  277. EXPORT_SYMBOL(tq_immediate);
  278. EXPORT_SYMBOL(tq_scheduler);
  279. EXPORT_SYMBOL(timer_active);
  280. EXPORT_SYMBOL(timer_table);
  281.  
  282. #ifdef __SMP__
  283. /* Various random spinlocks we want to export */
  284. EXPORT_SYMBOL(tqueue_lock);
  285. EXPORT_SYMBOL(waitqueue_lock);
  286. #endif
  287.  
  288. /* autoirq from  drivers/net/auto_irq.c */
  289. EXPORT_SYMBOL(autoirq_setup);
  290. EXPORT_SYMBOL(autoirq_report);
  291.  
  292. /* dma handling */
  293. EXPORT_SYMBOL(request_dma);
  294. EXPORT_SYMBOL(free_dma);
  295. EXPORT_SYMBOL(dma_spin_lock);
  296. #ifdef HAVE_DISABLE_HLT
  297. EXPORT_SYMBOL(disable_hlt);
  298. EXPORT_SYMBOL(enable_hlt);
  299. #endif
  300.  
  301. /* IO port handling */
  302. EXPORT_SYMBOL(check_region);
  303. EXPORT_SYMBOL(request_region);
  304. EXPORT_SYMBOL(release_region);
  305.  
  306. /* process management */
  307. EXPORT_SYMBOL(__wake_up);
  308. EXPORT_SYMBOL(sleep_on);
  309. EXPORT_SYMBOL(sleep_on_timeout);
  310. EXPORT_SYMBOL(interruptible_sleep_on);
  311. EXPORT_SYMBOL(interruptible_sleep_on_timeout);
  312. EXPORT_SYMBOL(schedule);
  313. EXPORT_SYMBOL(schedule_timeout);
  314. EXPORT_SYMBOL(jiffies);
  315. EXPORT_SYMBOL(xtime);
  316. EXPORT_SYMBOL(do_gettimeofday);
  317. EXPORT_SYMBOL(loops_per_sec);
  318. EXPORT_SYMBOL(kstat);
  319.  
  320. /* misc */
  321. EXPORT_SYMBOL(panic);
  322. EXPORT_SYMBOL(printk);
  323. EXPORT_SYMBOL(sprintf);
  324. EXPORT_SYMBOL(vsprintf);
  325. EXPORT_SYMBOL(kdevname);
  326. EXPORT_SYMBOL(bdevname);
  327. EXPORT_SYMBOL(cdevname);
  328. EXPORT_SYMBOL(simple_strtoul);
  329. EXPORT_SYMBOL(system_utsname);    /* UTS data */
  330. EXPORT_SYMBOL(uts_sem);        /* UTS semaphore */
  331. EXPORT_SYMBOL(sys_call_table);
  332. EXPORT_SYMBOL(machine_restart);
  333. EXPORT_SYMBOL(machine_halt);
  334. EXPORT_SYMBOL(machine_power_off);
  335. EXPORT_SYMBOL(register_reboot_notifier);
  336. EXPORT_SYMBOL(unregister_reboot_notifier);
  337. EXPORT_SYMBOL(_ctype);
  338. EXPORT_SYMBOL(secure_tcp_sequence_number);
  339. EXPORT_SYMBOL(get_random_bytes);
  340. EXPORT_SYMBOL(securebits);
  341.  
  342. /* Program loader interfaces */
  343. EXPORT_SYMBOL(setup_arg_pages);
  344. EXPORT_SYMBOL(copy_strings);
  345. EXPORT_SYMBOL(do_execve);
  346. EXPORT_SYMBOL(flush_old_exec);
  347. EXPORT_SYMBOL(open_dentry);
  348. EXPORT_SYMBOL(read_exec);
  349.  
  350. /* Miscellaneous access points */
  351. EXPORT_SYMBOL(si_meminfo);
  352.  
  353. /* Added to make file system as module */
  354. EXPORT_SYMBOL(set_writetime);
  355. EXPORT_SYMBOL(sys_tz);
  356. EXPORT_SYMBOL(__wait_on_super);
  357. EXPORT_SYMBOL(file_fsync);
  358. EXPORT_SYMBOL(clear_inode);
  359. EXPORT_SYMBOL(refile_buffer);
  360. EXPORT_SYMBOL(nr_async_pages);
  361. EXPORT_SYMBOL(___strtok);
  362. EXPORT_SYMBOL(init_fifo);
  363. EXPORT_SYMBOL(fifo_inode_operations);
  364. EXPORT_SYMBOL(chrdev_inode_operations);
  365. EXPORT_SYMBOL(blkdev_inode_operations);
  366. EXPORT_SYMBOL(read_ahead);
  367. EXPORT_SYMBOL(get_hash_table);
  368. EXPORT_SYMBOL(get_empty_inode);
  369. EXPORT_SYMBOL(insert_inode_hash);
  370. EXPORT_SYMBOL(remove_inode_hash);
  371. EXPORT_SYMBOL(make_bad_inode);
  372. EXPORT_SYMBOL(is_bad_inode);
  373. EXPORT_SYMBOL(event);
  374. EXPORT_SYMBOL(__down);
  375. EXPORT_SYMBOL(__down_interruptible);
  376. EXPORT_SYMBOL(__down_trylock);
  377. EXPORT_SYMBOL(__up);
  378. EXPORT_SYMBOL(brw_page);
  379.  
  380. /* all busmice */
  381. EXPORT_SYMBOL(add_mouse_randomness);
  382. EXPORT_SYMBOL(fasync_helper);
  383.  
  384. #ifdef CONFIG_BLK_DEV_MD
  385. EXPORT_SYMBOL(disk_name);    /* for md.c */
  386. #endif
  387.  
  388. /* binfmt_aout */
  389. EXPORT_SYMBOL(get_write_access);
  390. EXPORT_SYMBOL(put_write_access);
  391.  
  392. /* dynamic registering of consoles */
  393. EXPORT_SYMBOL(register_console);
  394. EXPORT_SYMBOL(unregister_console);
  395.  
  396. /* time */
  397. EXPORT_SYMBOL(get_fast_time);
  398.  
  399. /* library functions */
  400. EXPORT_SYMBOL(strnicmp);
  401.